#!/bin/bash
echo "Hello World !"

# shell传递参数

# 脚本获取参数的方式 ： $n
# $0 : shell脚本本身
# $1 : 参数一
# $2 : 参数二
# $3 : 参数三
# .....
# $n : 参数n
# $# : 传递到脚本的参数个数
# $* : 以单字符显示所有传递的参数,以空格分开
# $@ : 与 $* 相同，输出格式不同
echo "Shell 传递参数实例！";
echo "执行的文件名：$0";
echo "第一个参数为：$1";
echo "第二个参数为：$2";
echo "第三个参数为：$3";
echo "参数的数量：$#";
echo "所有参数：$*";
echo "所有参数：$@";


# $$ : 脚本运行的所在进程ID
# $! : 后台运行的最后一个进程ID
# $- : 显示Shell使用的当前选项，与set命令功能相同。
# $? : 最后一个命令退出状态；0表示没有错误，其他表示有错误

echo "----------------- 数组 ----------------------------"
# shell数组

# 只支持一维数组，初始化时不需要定义数组大小
# 下标从0开始
# () 表示，以空格隔开元素
arr_name=(qw "qe" 12)
echo ${arr_name[0]};
echo ${arr_name[1]};
echo "${arr_name[2]}";
arr_name[3]=34
echo ${arr_name[3]};
arr_name[4]=44
echo ${arr_name[4]};
# echo $arr_name[4]; # 错误 无法使用 $变量名 引用

# 获取所有元素
# 使用@ 或 * 可以获取数组中的所有元素
echo "数组的元素为: ${arr_name[*]}"
#echo "数组的元素为: ${arr_name[@]}"

# 获取数组的长度
# 获取数组长度的方法与获取字符串长度的方法相同

echo "数组元素个数为: ${#arr_name[*]}"
echo "数组元素个数为: ${#arr_name[@]}"
